import React from 'react';
import proptypes from 'proptypes';
import { Outlet} from "react-router-dom";
class Children extends React.Component{
    state={
        num:3
    }
    static getDerivedStateFromProps(props,state){
        console.log(12);
        
      return null
    }
    shouldComponentUpdate(){
        console.log("子组件是否更新");
        return true
     }
     getSnapshotBeforeUpdate(){
        console.log("子组件更新前");
        return 1
     }
     componentDidUpdate(){
        console.log("子组件更新了");
        
     }
     componentWillUnmount(){
        console.log("子组件被卸载了");
     }
    opp(){
        // console.time("myTimer")
        // setTimeout(() => {
        //    this.setState({
        //       num:this.state.num+1
        //   })
        // }, 10000)
        // for(let i=0;i<10000000000;i++){
        //     // console.log(i);
        // }
        // console.timeEnd("myTimer")
    }
  render(){
    this.opp()
    return(
      <div>
        <Outlet></Outlet>
         <div>1{this.state.num}</div>
        <div>{this.props.slot}</div>
        <div>{this.props.children }</div>
        {/* <div>{this.props.slotvalue("我是子组件传过来的") }</div> */}
        
      </div>
    )
  }
 componentDidMount(){
    console.log("子组件挂载完成");
    
 }

}
Children.protoTypes = {
    a:proptypes.string
}
Children.defaultProps = {
    a:'我是默认值'
}
export default Children;